﻿using BW.WMS.WareHouseStatistics.Page;
using BW.WMS.WareHouseStatistics.Statistics;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Application.Services;

namespace BW.WMS.WareHouseStatistics.StockManagement
{
    public interface IStockManagementAppService : IApplicationService
    {
        /// <summary>
        /// 创建
        /// </summary>
        /// <returns></returns>
        Task<StockManagementDto> CreateAsync(CreateUpdateStockManagementDto input);

        /// <summary>
        /// 修改
        /// </summary>
        /// <returns>返回操作结果提示信息</returns>
        Task<StockManagementDto> UpdateAsync(Guid id, CreateUpdateStockManagementDto input);


        /// <summary>
        /// 获取分页列表
        /// </summary>
        /// <returns>包含分页信息和数据的结果</returns>
        Task<PagedResultDto<StockManagementDto>> GetListAsync(StockManagementGetList input);

        /// <summary>
        /// 获取查询
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        Task<StockManagementDto> GetAsync(Guid id);

        /// <summary>
        /// 删除
        /// </summary>
        /// <returns>返回操作结果提示信息</returns>
        Task DeleteAsync(Guid id);

        /// <summary>
        /// 审核
        /// </summary>
        /// <param name="ids"></param>
        /// <param name="Stockstate"></param>
        /// <param name="Statedesc"></param>
        /// <param name="Test3"></param>
        /// <returns></returns>
        Task UpdateAuditAsync(List<Guid> ids, string? Stockstate, string? Statedesc, string? Test3);


        /// <summary>
        /// 导出
        /// </summary>
        /// <param name="filter"></param>
        /// <returns></returns>
        Task<byte[]> ExportDataAsync(StockManagementGetList filter);


    }
}
